%Funcion que agrega una cantidad 'nr' de ruido a TODOS los pixeles de una imagen (sin usar valores aleatorios)
function [T,x,y] = agRuido3(n,nr,img) %nr = nivel de ruido (es el porcentaje de ruido que queremos tener; va de 0 a 100)

for f = 1:n
	for c = 1:n
		r = nr * 2.55; %cant de ruido a agregar
		p = double(img(f,c));
		izq = p-r;
		der = p+r;
		if (izq<0 && der>255) %[p-r;p+r] contiene al [0,255]
			if (255-p < p)
				T(f,c) = 0;
			else
				T(f,c) = 255;
			end
		elseif (izq<0) %solo se pasa del 0
			T(f,c) = p+r;
		elseif (der>255) %solo se pasa del 255
			T(f,c) = p-r;
		else %[p-r;p+r] esta totalmente contenido en el [0,255], o sea da lo mismo si tomo (p+r) o (p-r)
			T(f,c) = p+r; %es lo mismo si tomo (p+r) o (p-r)
		end
	end
end

T = uint8(T);





%calculo el nivel de ruido en la imagen ruidosa:
s = 0;
for f = 1:n
	for c = 1:n	
		u0 = double(img(f,c));
		u = double(T(f,c));
		s = s + abs(u0-u);
	end
end

s = s/255;
s = s/(n^2);
s = s*100;
porcentajeDeRuido = s %mostrar el porcentaje de ruido en la imagen
